1
Cơ sở kiến trúc của hệ sinh thái HIP
AI022Lesson 3
00:00

Hệ sinh thái HIP Ecosystem được thiết kế như một lớp trừu tượng mỏng nhằm đảm bảo tính tương thích mã nguồn giữa các kiến trúc AMD và NVIDIA. Nó tận dụng nền tảng ROCm (Radeon Open Compute) và đặc biệt sử dụng Heterogeneous System Architecture (HSA) thời gian chạy cùng với Kernel Fusion Driver (KFD).

1. Khởi tạo khởi động

Khởi tạo bắt đầu bằng các cuộc trao đổi thấp cấp giữa trình điều khiển hạt nhân qua hsa_init(0, ...)hsaKmtOpenKFD(...). Những lời gọi thiết lập này tạo ra cầu nối truyền thông giữa các ứng dụng không gian người dùng và phần cứng GPU AMD.

2. Phát hiện topology và thuộc tính

Trước khi khởi chạy các kernel, thời gian chạy xác định khả năng phần cứng bằng cách sử dụng hsaKmtAcquireSystemPropertieshsaKmtGetNodeProperties. Nó ánh xạ bộ nhớ vật lý đến các nút GPU bằng cách sử dụng hsaKmtMapMemoryToGPUNodes, đảm bảo bảng trang được hiển thị cho thiết bị.

3. Quy trình biên dịch

Cầu nối giữa CUDA và HIP được xây dựng trên hai trụ cột: hipify-perl (bộ chuyển đổi dựa trên biểu thức chính quy) và hipcc (bộ bao bọc trình biên dịch).

# Ví dụ quy trình chuyển đổi
hipify-perl square.cu > square.cpp
hipcc square.cpp -o square.out

4. Logic phiên bản

Tính tương thích được đảm bảo thông qua một công thức chính xác để đảm bảo hipRuntimeGetVersion phù hợp với bảng mở rộng HSA:

$$\text{HIP\_VERSION} = \text{CHỦ_YẾU} \times 10^7 + \text{TƯƠNG_TỰ} \times 10^5 + \text{SỬA_CHỈNH}$$

Lớp ứng dụng (./square.out)Lớp HIP (hipcc / API thời gian chạy)Thời gian chạy HSA / Bảng mở rộngTrình điều khiển kernel (KFD) & Phần cứng
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>